草庐IT

Android StrictMode 和堆转储

全部标签

sql - 从 mysql.sql 转储文件中提取表

这个问题在这里已经有了答案:CanIrestoreasingletablefromafullmysqlmysqldumpfile?(20个答案)关闭9年前。我在mysql.sql文件中有一个产品表。我想提取那个表格并将其放在它自己的文件中。你会怎么做?

c - 传递 NULL 时 strdup 转储核心

strdup(null)转储核心。在ubuntu和freeBSD上都试过了。为什么?它不应该返回null吗?char*b=NULL;a=strdup(b);这将在strdup调用时转储核心。 最佳答案 没关系。documentation暗示它的参数必须是字符串,如果它是其他东西,比如空指针,任何人都猜会发生什么。本质上,当将NULL指针传递给strdup时,您会得到未定义的行为。如果您向函数传递您不应该传递的内容,函数产生未定义的行为是很正常的。许多标准C函数,如strcpy、strlen也不接受空指针。

c - 传递 NULL 时 strdup 转储核心

strdup(null)转储核心。在ubuntu和freeBSD上都试过了。为什么?它不应该返回null吗?char*b=NULL;a=strdup(b);这将在strdup调用时转储核心。 最佳答案 没关系。documentation暗示它的参数必须是字符串,如果它是其他东西,比如空指针,任何人都猜会发生什么。本质上,当将NULL指针传递给strdup时,您会得到未定义的行为。如果您向函数传递您不应该传递的内容,函数产生未定义的行为是很正常的。许多标准C函数,如strcpy、strlen也不接受空指针。

c - 浮点异常核心转储

我是Linux信号方面的新手,请帮忙。以下代码在Linux2.6gcc中运行时获取核心转储。$./a.out浮点异常(核心转储)问题:1.既然安装了进程信号掩码,第40行volatileintz=x/y;生成的“SIGFPGE”是不是应该被屏蔽?2.如果没有阻塞,既然已经安装了信号处理程序,那么“SIGFPE”不应该被信号处理程序捕获,而不是核心转储吗?3.如果我注释掉第40行volatileintz=x/y;,并改用第42行raise(SIGFPE);,那么一切都按我预期的那样工作。这里x/0和raiseSIGFPE有什么区别?代码如下:#include#include#includ

c - 浮点异常核心转储

我是Linux信号方面的新手,请帮忙。以下代码在Linux2.6gcc中运行时获取核心转储。$./a.out浮点异常(核心转储)问题:1.既然安装了进程信号掩码,第40行volatileintz=x/y;生成的“SIGFPGE”是不是应该被屏蔽?2.如果没有阻塞,既然已经安装了信号处理程序,那么“SIGFPE”不应该被信号处理程序捕获,而不是核心转储吗?3.如果我注释掉第40行volatileintz=x/y;,并改用第42行raise(SIGFPE);,那么一切都按我预期的那样工作。这里x/0和raiseSIGFPE有什么区别?代码如下:#include#include#includ

c++ - c++ 程序核心转储的回溯中的无限中止()

我有一个奇怪的问题,我无法解决。请帮忙!该程序是一个在ARMLinux机器上运行的多线程C++应用程序。最近我开始对其进行长期测试,有时它会在1-2天后崩溃,如下所示:***glibcdetected**/root/client/my_program:free():invalidpointer:0x002a9408***当我打开核心转储时,我看到主线程似乎有一个损坏的堆栈:我只能看到无限的abort()调用。GNUgdb(GDB)7.3...ThisGDBwasconfiguredas"--host=i686--target=arm-linux".[NewLWP706][NewLWP7

c++ - c++ 程序核心转储的回溯中的无限中止()

我有一个奇怪的问题,我无法解决。请帮忙!该程序是一个在ARMLinux机器上运行的多线程C++应用程序。最近我开始对其进行长期测试,有时它会在1-2天后崩溃,如下所示:***glibcdetected**/root/client/my_program:free():invalidpointer:0x002a9408***当我打开核心转储时,我看到主线程似乎有一个损坏的堆栈:我只能看到无限的abort()调用。GNUgdb(GDB)7.3...ThisGDBwasconfiguredas"--host=i686--target=arm-linux".[NewLWP706][NewLWP7

c - 删除 root 权限并仍然生成核心转储

我注意到我的一些用户在崩溃后根本没有得到核心转储,即使他们配置中的其他一切似乎都是正确的。看完core(5)手册页很多次我注意到了这一点:[Acoredumpfileisnotproducedif]Theprocessisexecutingaset-user-ID(set-group-ID)programthatisownedbyauser(group)otherthantherealuser(group)IDoftheprocess.我的守护进程不是setuidroot,但在很多配置中它以root身份启动,如果.conf文件指定了用户名,它会放弃权限,通常的组合是:setgid(gi

c - 删除 root 权限并仍然生成核心转储

我注意到我的一些用户在崩溃后根本没有得到核心转储,即使他们配置中的其他一切似乎都是正确的。看完core(5)手册页很多次我注意到了这一点:[Acoredumpfileisnotproducedif]Theprocessisexecutingaset-user-ID(set-group-ID)programthatisownedbyauser(group)otherthantherealuser(group)IDoftheprocess.我的守护进程不是setuidroot,但在很多配置中它以root身份启动,如果.conf文件指定了用户名,它会放弃权限,通常的组合是:setgid(gi

linux - 从进程内部转储 Linux 核心文件的好方法是什么?

我们有一个服务器(用C和C++编写)当前捕获SEGV并将一些内部信息转储到文件中。我想在捕获SEGV时生成一个核心文件并将其写入磁盘,这样我们的支持代表和客户就不必为ulimit大惊小怪,然后等待崩溃再次发生以获得核心文件。我们过去使用过abort函数,但它受ulimit规则的约束,没有帮助。我们有一些遗留代码读取/proc/pid/map并手动生成一个核心文件,但它已经过时了,而且看起来不太便携(例如,我猜它不会在我们的64位版本)。在Linux进程中生成和转储核心文件的最佳方法是什么? 最佳答案 Google有一个库,用于从名为